Embodiments of the inventive concept are directed to a virtual address generator, and more particularly, to a method of operating a virtual address generator which generates a virtual address using an address generator selected from address generators that use at least one type of attribute and mode information and to a method of operating a system that includes the virtual address generator.
A memory management unit (MMU) is a computer hardware component which manages central processing unit (CPU) memory accesses. An MMU can translate a virtual memory address into a physical memory address and can also perform memory protection, cache control, and bus arbitration.
An MMU divides a virtual address space, such as the range of addresses used in a processor, into pages. Each of the pages includes a virtual memory address and a physical memory address. The MMU refers to a translation lookaside buffer (TLB) to translate a virtual memory address into a physical memory address. When wanted translation information does not exist in the TLB, that is, when TLB miss occurs, the MMU fetches the translation information from a page table stored in a memory device. When a TLB miss occurs, MMU performance may be degraded.
Mobile devices that include an MMU are widely used; image rotation is generally used in mobile devices. Examples of the use of the image rotation include displaying in landscape mode a video captured by a camera in portrait mode; and displaying in landscape mode a video stored in memory in portrait mode.
When an image is rotated and an address map is linear, the performance of an MMU may be unsatisfactory. For instance, when the size of video is large, an address difference between adjacent transactions may be large. At this time, TLB miss may occur.
Therefore, image rotation may be a performance bottleneck in a mobile device.